/*
 *
 */

#ifndef GKT_CAT_EYE_H
#define GKT_CAT_EYE_H

#include "gkt_types.h"

#ifdef __cplusplus
extern "C" {
#endif

#if !defined(GKT_CONFIG_BACKBOARD_ENABLE) && !GKT_CONFIG_BACKBOARD_ENABLE
#define GKT_CAT_EYE_LOCATION GKT_MODULE_LOC_FRONTBOARD
#elif defined(GKT_CONFIG_CAT_EYE_LOCATION)
#define GKT_CAT_EYE_LOCATION GKT_MODULE_LOCATION(GKT_CONFIG_CAT_EYE_LOCATION)
#else
#define GKT_CAT_EYE_LOCATION GKT_MODULE_LOC_BACKBOARD
#endif

typedef enum {
	GKT_CAT_EYE_ST_INACTIVE = 0,
	GKT_CAT_EYE_ST_STARTING,
	GKT_CAT_EYE_ST_ACTIVE,
} gkt_cat_eye_status_e;

typedef void (*gkt_cet_eye_notify_fn)(gkt_cat_eye_status_e status);

int gkt_cat_eye_init(void);
void gkt_cat_eye_register_notify(gkt_cet_eye_notify_fn notify);
int gkt_cat_eye_start(void);
gkt_cat_eye_status_e gkt_cat_eye_get_status(void);

#ifdef __cplusplus
}
#endif

#endif	/* GKT_CAT_EYE_H */

